iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 26
0

<< 接續上篇

Method


AlertDialog

一種小型視窗,用來提示使用者資訊或讓使用者輸入所需資訊。

利用 AlertDialog.Builder 這個類別來建立 AlertDialog

  • 實例化 AlertDialog.Builder :

  • 使用 AlertDialog.Builder 中的方法設定 AlertDialog

    • setTitle

      設置 AlertDialog 標題

      setTitle (title: CharSequence)

      • title:欲設置的標題內容
      builder.setTitle("Alert")
      
    • setMessage

      設置 AlertDialog 訊息內容

      setMessage (message: CharSequence)

      • message:欲設置的訊息內容
      // intent 為傳進來的接收器接收的廣播 intent,
      // "message" 為 intent 夾帶的資料的 Key
      builder.setMessage(intent!!.getStringExtra("message"))
      
    • setPositiveButton

      在 AlertDialog 上加上按鈕

      setPositiveButton (text: CharSequence, listener: DialogInterface.OnClickListener)

      val listener = object : DialogInterface.OnClickListener{
          // dialog 為使用此監聽器的 AlertDialog 
          // which 為 AlertDialog 上的按鈕代號
          // 例如:BUTTON_POSITIVE、BUTTON_NEGATIVE、BUTTON_NEUTRAL
          override onClick(dialog: DialogInterface, which: Int){
              when (int){
                  BUTTON_POSITIVE -> dialog.cancel()
              }
          }
      }
      
      builder.setPositiveButton("OK", listener)
      
    • show

      建立並顯示 AlertDialog

      show ()

      builder.show
      

      此方法相當於

       val dialog : AlertDialog = builder.create();
       dialog.show()
      
  • 以上的建立及設置步驟可簡化為如下

fun showDialog(intent: Intent?){
    AlertDialog.Builder(myContext)
        .setTitle("Alert")
        .setMessage(intent!!.getStringExtra("message"))
        .setPositiveButton("OK"){
             // 此為 Lambda 寫法
             dialog, which -> dialog.cancel()
         }
        .show()
}

發送 FCM

至 Firebase 控制台選擇和 Android 專案連結的 Firebase 專案

進入後若跳出"選擇資料共用設定"視窗,可按左下的"稍後再設定"關閉視窗

  1. 從左邊選單找到 拓展 > Cloud Messaging

  2. 點選 "Send your first messaging

  3. 點選後會進入建立通知的畫面,首先建立訊息,輸入通知內容。
    輸入完後點選 "下一步"

  4. 選擇要傳送的應用程式

  5. 選完應用程式後點選 "發佈"

  6. 接著會彈出一個提醒訊息,讓發佈者確認通知訊息設定有沒有誤
    若無誤即可點選 "發佈",通知就會被發送出去。

實作成果

為方便顯示發送通知及接收後的顯示成果
上半畫面為用手機瀏覽器開啟 Firebase 控制台建立並發送通知
下半畫面為這次實作的 APP

查看詳細 Code > GitHub

tags: Android Kotlin AlertDialog FCM

上一篇
Android Kotlin 實作 Day 16:PushMessaging(中)(LocalBroadcastManager+BroadcastReceiver)
下一篇
Android Kotlin 實作 Day 17:PullToRequest(SwipeRefreshLayout+CardView)
系列文
英國研究顯示,連續30天用Kotlin開發Android將有益於身心健康30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言